using ZeroSum.Application.Datas;
using ZeroSumDBM.Application.Services.DataServers.Dto.In;
using ZeroSumDBM.Application.Services.DataServers.Dto.Out;
using ZeroSumDBM.Application.Services.DataServers.Dto.Query;
using ZeroSumDBM.Core.MySql;

namespace ZeroSumDBM.Application.Services.DataServers;

public interface IDataServerService
{
    Task Add(AddDataServerDto dto);
    Task Delete(DeleteDataServerDto dto);
    Task<PagedList<PageDataServerDto>> Page(PageDataServerQuery query);
    Task<List<ListDataServerDto>> List(ListDataServerQuery query);
    Task Edit(EditDataServerDto dto);
    Task<DetailDataServerDto> Detail(DetailDataServerQuery query);
    Task<List<string>> GetDatabases(long id);
    Task<List<string>> GetTables(long id, string database);
    Task<SearchResult> GetTableData(TableDataQuery query);
}